Racket (langage)

Racket
Logo.
Image illustrative de l’article Racket (langage)

Date de première version Voir et modifier les données sur Wikidata
Paradigmes fonctionnel
Dernière version 8.13 ()[1]Voir et modifier les données sur Wikidata
Influencé par Scheme
Système d'exploitation Multiplateforme
Licence GNU LGPL
Site web racket-lang.orgVoir et modifier les données sur Wikidata
Extension de fichier rkt, rktl, rktd, plt, ss et scmVoir et modifier les données sur Wikidata

Racket est un langage de programmation de la famille Lisp. Il fait partie du projet Racket (autrefois PLT Scheme), qui regroupe plusieurs variantes du langage Scheme ainsi qu'une série d'outils pour les utiliser. L'un de ses objectifs est de servir de plateforme pour la création, la conception et l'implémentation.

Initialement, DrScheme a été conçu comme un environnement de développement à but pédagogique, pour servir de support au cours d'introduction à l'informatique de l'université Rice. D'abord basé sur le langage Scheme R5RS, l'environnement implémente aujourd'hui le langage Racket, un dérivé de Scheme multi-paradigme. Le langage est utilisé tant que langage de script, programmation à usage général et dans de nombreux domaines comme l'enseignement en informatique et la recherche.

La plateforme fournit une implémentation du langage Racket (y compris un environnement d’exécution avancé[2], des bibliothèques variées, un compilateur à la volée) ainsi qu'un environnement de développement nommé Dr Racket (anciennement DrScheme) écrit en Racket[3].

Le cœur du langage est connu pour son système de macros avancé qui permet de créer des langages dédiés, des constructions du langage permettant de créer des classes et des modules et de nombreux dialectes du langage avec leur propre sémantique[4],[5],[6],[7].

La distribution de la plateforme est de type Free/Libre Open Source Software et est distribué sous la Licence Publique Générale Limitée GNU également appelé GNU LGPL[8]. Les extensions et packages créés par la communauté sont téléchargeables via le catalogue de packages centralisé de Racket.

  1. a et b « Racket v8.13 »
  2. Flatt; Findler; Krishnamurthi; Felleisen (1999). Programming Languages as Operating Systems (or, Revenge of the Son of the Lisp Machine). International Conference on Functional Programming.
  3. Findler; Clements; Flanagan; Flatt; Krishnamurthi; Steckler; Felleisen (2001). "DrScheme: A Programming Environment for Scheme" (PDF). Journal of Functional Programming.
  4. Flatt, M.; Findler, R. B.; Felleisen, M. (2006). "Scheme with Classes, Mixins, and Traits" (PDF). Asian Symposium on Programming Languages and Systems.
  5. Flatt, M.; Felleisen, M. (1998). "Units: Cool Modules for Hot Languages". Programming Language Design and Implementation.
  6. (en) « Languages as Libraries », sur www2.ccs.neu.edu (consulté le ).
  7. Felleisen, Matthias; Findler, Robert Bruce; Flatt, Matthew; Krishnamurthi, Shriram; Barzilay, Eli; McCarthy, Jay; Tobin-Hochstadt, Sam (2018). "A Programmable Programming Language"
  8. (en) « "Racket: Software License" », sur racket-lang.org (consulté le ).

From Wikipedia, the free encyclopedia · View on Wikipedia

Developed by Nelliwinne